14 research outputs found

    Accelerating board games through Hardware/Software Codesign

    Get PDF
    Board games applications usually offer a great user experience when running on desktop computers. Powerful high-performance processors working without energy restrictions successfully deal with the exploration of large game trees, delivering strong play to satisfy demanding users. However, nowadays, more and more game players are running these games on smartphones and tablets, where the lower computational power and limited power budget yield a much weaker play. Recent systems-on-a-chip include programmable logic tightly coupled with general-purpose processors enabling the inclusion of custom accelerators for any application to improve both performance and energy efficiency. In this paper, we analyze the benefits of partitioning the artificial intelligence of board games into software and hardware. We have chosen as case studies three popular and complex board games, Reversi, Blokus, and Connect6. The designs analyzed include hardware accelerators for board processing, which improve performance and energy efficiency by an order of magnitude leading to much stronger and battery-aware applications. The results demonstrate that the use of hardware/software codesign to develop board games allows sustaining or even improving the user experience across platforms while keeping power and energy low

    Planificaci贸n Tiempo Real en multiprocesadores: reducci贸n de cambios de contexto y migraciones en AlECS

    Get PDF
    El dise帽o de algoritmos de planificaci贸n tiempo real sobre multiprocesadores es un campo en el que la industria tiene inter茅s porque permiten reducir el peso, las dimensiones y el consumo de los sistemas. Uno de los problemas que introducen estos algoritmos es que o bien desperdician tiempo de procesador, o bien introducen sobrecostes al intentar aprovecharlo al m谩ximo, al incrementar las migraciones y cambios de contexto de las tareas.Este trabajo presenta el algoritmo de planificaci贸n CAlECS que trabaja con utilizaci贸n m谩xima y genera un n煤mero de cambios de contextos y migraciones menor que RUN, algoritmo de referencia en este aspecto. La principal novedad en su implementaci贸n es el uso de una t茅cnica de clustering (agrupamiento) capaz de obtener planificaciones con utilizaci贸n m谩xima, a la vez que permite limitar los procesadores a los que puede migrar cada tarea.Adem谩s, genera de forma off-line un ejecutivo c铆clico, situ谩ndose en la l铆nea de los est谩ndares de la industria de automoci贸n y aeroespacial.Tambi茅n se ha actualizado el entorno de simulaci贸n Tertimuss, usado como base experimental durante el trabajo. Se ha renovado completamente su arquitectura y modo de simulaci贸n, pasando de simular ciclos de procesador a simular eventos del sistema. Esto reduce de horas a minutos el tiempo de c贸mputo cuando se simulan grandes vol煤menes de experimentos. Tertimuss se ha ampliado con herramientas que permiten el an谩lisis autom谩tico de planificaciones obteniendo diferentes m茅tricas (ej. n煤mero de cambios de contexto). Se han a帽adido nuevos m茅todos de representaci贸n de planificaciones, y nuevos algoritmos de planificaci贸n y generaci贸n de tareas. En la pr谩ctica, Tertimuss es m谩s eficiente al usarse como una biblioteca, por lo que se ha modificado sustancialmente la interfaz de programaci贸n que ofrece para facilitar su uso en esa forma.Por 煤ltimo, se ha planteado un flujo de trabajo que facilita la aplicaci贸n de algoritmos de planificado ejecutados off-line sobre sistemas reales. Este es un flujo de trabajo iterativo, que busca en cada iteraci贸n ajustar el m谩ximo tiempo de ejecuci贸n de las tareas teniendo en cuenta la planificaci贸n de las mismas. Esto permite limitar los sobrecostes que se contabilizan en este. Adem谩s, se ha analizado los costes en los que incurre un cambio de contexto y una migraci贸n en una placa de desarrollo.<br /

    Caracterizaci贸n del comportamiento y gesti贸n de interrupciones en sistemas empotrados Linux sobre arquitecturas ARM

    Get PDF
    El objetivo de este TFM es caracterizar el comportamiento de lasinterrupciones sobre SoCs con n煤cleo ARM orientado a aplicaciones,gestionados mediante Linux. Para ello se parte del estudio de todoslos posibles mecanismos hardware disponibles en ARM para gestionary disminuir la latencia de interrupci贸n. Se estudia el tratamiento delas excepciones en el n煤cleo de Linux, prestando especial atenci贸n ala influencia de los diferentes modos de expulsi贸n, incluyendo la ex-pulsi贸n total para tiempo real estricto, en condiciones de carga y sincarga. Sobre dos placas (Beaglebone y Raspberry Pi) con diferentesmicroprocesadores ARM, en ambos casos orientados a aplicaci贸n, secaracterizan las latencias en diferentes niveles y condiciones, desde lageneraci贸n /retorno de la se帽al hasta los handlers y rutinas de serviciode niveles m谩s altos del n煤cleo. Se estudian las diferencias en los tiem-pos de respuesta de las dos placas analizadas en diferentes condicio-nes. Se muestra que la programaci贸nbaremetalsin sistema operativo,recurriendo a librer铆as optimizadas por el fabricante, puede ser m谩sestable pero poco eficiente, proporcionando una latencia de respuestaen torno a 1.5 ms, en relaci贸n a Linux/ARM que proporciona laten-cias de respuesta medias en torno a 10 us. Se estudian las variacionesen la latencia de interrupci贸n que aparecen en Linux/ARM y se con-cluye por exclusi贸n que puede deberse a la gesti贸n de los gpios y elsistema de entrada/salida de las placas, y no con los controladores deinterrupciones del SoC o con los mecanismos de gesti贸n de Linux

    Entorno de simulaci贸n de planificadores tiempo real para multiprocesadores con restricciones t茅rmicas y de energ铆a

    Get PDF
    El dise帽o de algoritmos de planificaci贸n tiempo real sobre multiprocesadores es un campo en el que la industria tiene inter茅s, pero es m谩s complejo que el dise帽o tradicional sobre monoprocesadores. Esa complejidad aumenta a煤n m谩s si a las restricciones temporales hay que a帽adir que una mala planificaci贸n puede generar puntos calientes en el procesador. Las herramientas de simulaci贸n ayudan a evaluar la correcci贸n de las planificaciones cuando las pruebas o condiciones te贸ricas de planificabilidad no aseguran la existencia o no de una planificaci贸n viable, por ser generalmente condiciones suficientes pero no necesarias. El cumplimiento de restricciones t茅rmicas o de energ铆a a煤n hace m谩s necesarios estos simuladores.Este trabajo presenta un simulador de planificadores de tiempo real sensibles a temperatura y energ铆a para multiprocesadores. Ha sido creado en Python haciendo uso de componentes sin restricciones de licencia, y usa Redes de Petri Continuas Temporizadas (TCPN) para simular el sistema. El entorno se basa en uno previo, al cual va a substituir, creado en Matlab, con problemas que limitan su desarrollo, y con un alto coste computacional y de ocupaci贸n de memoria.En el nuevo entorno se mitigan los problemas del anterior logrando un speed-up del x9.1 y una reducci贸n de la ocupaci贸n de memoria de x5.4. Estas mejoras se logran modificando la TCPN que simula el sistema, optimizando la resoluci贸n de la ecuaci贸n de estado de la misma y cambiando las estructuras de datos en las que se almacena la misma.La arquitectura del nuevo entorno es completamente diferente de la anterior, y es ahora modular y escalable. Desacopla el simulador de TCPNs de la definici贸n del modelo de sistema, posibilitando cambiar cualquiera de los dos de forma independiente. Adem谩s se realiza lo propio entre la definici贸n de planificadores y el conjunto del simulador, lo que permite definirlos mediante una interfaz simple sin conocer el funcionamiento del resto del entorno.Por otro lado, se a帽aden caracter铆sticas nuevas como la posibilidad de tratar tareas aperi贸dicas, la inclusi贸n de planificadores con intervalos de planificaci贸n variables y la inclusi贸n de frecuencias variables en el procesador. Se ha a帽adido tambi茅n un nuevo modelo de interacci贸n con el usuario mediante l铆nea de comandos que permite la simulaci贸n por lotes, as铆 como nuevos planificadores.Utilizando el nuevo entorno se realiza una comparaci贸n entre los cuatro planificadores implementados, donde se muestran y analiza su viabilidad y comportamiento en varios escenarios, incluyendo el cumplimiento de restricciones t茅rmicas.<br /

    Flexural unfolding of complex geometries in fold and thrust belts using paleomagnetic vectors

    Get PDF
    Three-dimensional reconstructions of the subsurface are an important field in Earth Sciences due to their considerable socio-economic implications as exploration of petroleum resources. 3D reconstruction aims at providing a plausible image of the underground which entail the integration of discrete and heterogeneous datasets. They are based on geometric/mechanic laws and are designed to tackle areas with scarce and heterogeneous data. Restoration algorithms are an important tool to validate these 3D geological reconstructions of the subsurface. Restoration is the way back from the deformed to the undeformed states. Undo the deformation and achieve an initial surface with geological meaning is useful to validate the reconstruction of the folded structure and the deformation processes assumed. The main postulate in most restoration methods is the horizontality of the initial layers while restoration algorithms are based in several deformation processes as flexural slip or simple shear. We deepen in restoration techniques in next chapter but we want to emphasize the importance of a continuous feedback between reconstruction and restoration. This become especially important when complex deformation processes are implied and limited data is available. In addition, restoration tools may also be useful to predict deformation patterns for well characterized structures. However, existing restoration methods do not always succeed for complex structures like non-cylindrical, non-coaxial and/or areas undergoing vertical-axis rotations (out-of-plane motions). We suggest using paleomagnetic information, known in the undeformed (horizontal) and deformed states, as an additional and powerful constraint to improve restoration methods and to reduce the uncertainty of the results. The use of paleomagnetism in restoration tools was recommended in the early 1990驴s. So far, however, relatively few researchers have tried using paleomagnetic information to double-check the rotation inferred from restoration methods and hardly ever paleomagnetism is used as primary information of these tools. In this PhD we want to show how paleomagnetism can reduce the uncertainty in restoration tools when it is used as a constraint, particularly for structures with out-of-plane motions. The bedding plane is the basic 2D reference to relate the undeformed and deformed states, but never could be a real 3D indicator. Our proposal is the usage of paleomagnetism together with the bedding plane as references known in both states. The bedding plane determines the horizontal rotation and paleomagnetism the vertical axis rotation. Paleomagnetic vectors are the record of the ancient magnetic field at the time of the rock formation and we assume that it behaves as a passive marker during the deformation process. Its original orientation can be known in the undeformed surface, and it is represented by the paleomagnetic reference vector. If we see the deformation mechanisms, paleomagnetism allow reducing the number of variables, since it is a passive marker that records the internal deformation and provides us with information of vertical axis rotation. Because accurate paleomagnetic data is necessary to improve results we also work on a good data acquisition. Paleomagnetism may be incorporated in many restoration tools, particularly; we centre our study in geometrical surface unfolding algorithms valid for globally developable surfaces. Developable surfaces are those with Gaussian curvature equal to zero everywhere. These surfaces in geology are stratigraphic horizons folded under flexural conditions that have minimum internal deformation. That implies surfaces isometrically folded with preservation of lengths and angles and consequently with preservation of area. By globally we mean that these constraints are valid almost everywhere but there are areas where internal deformation is possible. We can find this kind of structures in the fold and thrust belts of competent layers at crustal levels. In order to test the restoration methods we develop analog models of complex structures. Laboratory-scale models are based on non-coaxial structures of External Sierras (Pyrenees). These analogs are digitalized with photogrametry and X-Ray CT scanner. In this way, models are completely characterized before and after deformation. This allows the calculus of real deformation of the folded surface and the comparison of the restored surface with the initial one

    Control techniques for thermal-aware energy-efficient real time multiprocessor scheduling

    Get PDF
    La utilizaci贸n de microprocesadores multin煤cleo no s贸lo es atractiva para la industria sino que en muchos 谩mbitos es la 煤nica opci贸n. La planificaci贸n tiempo real sobre estas plataformas es mucho m谩s compleja que sobre monoprocesadores y en general empeoran el problema de sobre-dise帽o, llevando a la utilizaci贸n de muchos m谩s procesadores /n煤cleos de los necesarios. Se han propuesto algoritmos basados en planificaci贸n fluida que optimizan la utilizaci贸n de los procesadores, pero hasta el momento presentan en general inconvenientes que los alejan de su aplicaci贸n pr谩ctica, no siendo el menor el elevado n煤mero de cambios de contexto y migraciones.Esta tesis parte de la hip贸tesis de que es posible dise帽ar algoritmos basados en planificaci贸n fluida, que optimizan la utilizaci贸n de los procesadores, cumpliendo restricciones temporales, t茅rmicas y energ茅ticas, con un bajo n煤mero de cambios de contexto y migraciones, y compatibles tanto con la generaci贸n fuera de l铆nea de ejecutivos c铆clicos atractivos para la industria, como de planificadores que integran t茅cnicas de control en tiempo de ejecuci贸n que permiten la gesti贸n eficiente tanto de tareas aperi贸dicas como de desviaciones param茅tricas o peque帽as perturbaciones.A este respecto, esta tesis contribuye con varias soluciones. En primer lugar, mejora una metodolog铆a de modelo que representa todas las dimensiones del problema bajo un 煤nico formalismo (Redes de Petri Continuas Temporizadas). En segundo lugar, propone un m茅todo de generaci贸n de un ejecutivo c铆clico, calculado en ciclos de procesador, para un conjunto de tareas tiempo real duro sobre multiprocesadores que optimiza la utilizaci贸n de los n煤cleos de procesamiento respetando tambi茅n restricciones t茅rmicas y de energ铆a, sobre la base de una planificaci贸n fluida. Considerar la sobrecarga derivada del n煤mero de cambios de contexto y migraciones en un ejecutivo c铆clico plantea un dilema de causalidad: el n煤mero de cambios de contexto (y en consecuencia su sobrecarga) no se conoce hasta generar el ejecutivo c铆clico, pero dicho n煤mero no se puede minimizar hasta que se ha calculado. La tesis propone una soluci贸n a este dilema mediante un m茅todo iterativo de convergencia demostrada que logra minimizar la sobrecarga mencionada.En definitiva, la tesis consigue explotar la idea de planificaci贸n fluida para maximizar la utilizaci贸n (donde maximizar la utilizaci贸n es un gran problema en la industria) generando un sencillo ejecutivo c铆clico de m铆nima sobrecarga (ya que la sobrecarga implica un gran problema de los planificadores basados en planificaci贸n fluida).Finalmente, se propone un m茅todo para utilizar las referencias de la planificaci贸n fuera de l铆nea establecida en el ejecutivo c铆clico para su seguimiento por parte de un controlador de frecuencia en l铆nea, de modo que se pueden afrontar peque帽as perturbaciones y variaciones param茅tricas, integrando la gesti贸n de tareas aperi贸dicas (tiempo real blando) mientras se asegura la integridad de la ejecuci贸n del conjunto de tiempo real duro.Estas aportaciones constituyen una novedad en el campo, refrendada por las publicaciones derivadas de este trabajo de tesis.<br /

    DADE: Motor de detecci贸n de datos an贸malos

    Get PDF
    Actualmente est谩n muy extendidos en los centros de datos los low-volume servers, que albergan m谩quinas virtuales con aplicaciones accedidas por usuarios de manera concurrente. La seguridad es crucial, sea a nivel de aplicaci贸n como a nivel de sistema operativo, para evitar filtraci贸n de datos personales. Si el sistema est谩 comprometido y un atacante adquiere permisos de administrador, su pr贸ximo movimiento ser谩 realizar una escalada de privilegios, ya sea horizontal (dentro de la DMZ) o vertical (red interna). Una aproximaci贸n para intentar aumentar los privilegios es instalar c贸digo malicioso para, por ejemplo, corromper la filtraci贸n de paquetes y acceder a otras m谩quinas. Existen prototipos como "DADE: A fast Data Anomaly Detection Engine for kernel integrity monitoring" que ayuda a detectar cambios de c贸digo o datos dentro del kernel. DADE provee un mecanismo que ayuda a mantener la integridad del sistema operativo Linux. Realiza una detecci贸n basada en la monitorizaci贸n de los objetos del kernel. Los objetos creados en el kernel pueden ser caracterizados por su stacktrace, que es la cadena ordenada de invocaciones a funciones hasta llegar al interfaz de asignaci贸n de memoria f铆sica del kernel. En este trabajo se ha implementado el prototipo DADE introducido en [4], y se han aportado nuevos m茅todos para la detecci贸n de anomal铆as. Adem谩s de reproducir las t茅cnicas de detecci贸n de ataques referidas en dicho art铆culo, se han desarrollado tres pruebas de concepto propias para atacar el c贸digo del kernel y comprobar la viabilidad y eficacia del dise帽o propuesto

    Energy-efficient thermal-aware multiprocessor scheduling for real-time tasks using TCPNs

    Get PDF
    We present an energy-effcient thermal-aware real-time global scheduler for a set of hard real-time (HRT) tasks running on a multiprocessor system. This global scheduler fulfills the thermal and temporal constraints by handling two independent variables, the task allocation time and the selection of clock frequency. To achieve its goal, the proposed scheduler is split into two stages. An off-line stage, based on a deadline partitioning scheme, computes the cycles that the HRT tasks must run per deadline interval at the minimum clock frequency to save energy while honoring the temporal and thermal constraints, and computes the maximum frequency at which the system can run below the maximum temperature. Then, an on-line, event-driven stage performs global task allocation applying a Fixed-Priority Zero-Laxity policy, reducing the overhead of quantum-based or interval-based global schedulers. The on-line stage embodies an adaptive scheduler that accepts or rejects soft RT aperiodic tasks throttling CPU frequency to the upper lowest available one to minimize power consumption while meeting time and thermal constraints. This approach leverages the best of two worlds: the off-line stage computes an ideal discrete HRT multiprocessor schedule, while the on-line stage manage soft real-time aperiodic tasks with minimum power consumption and maximum CPU utilization

    Implementaci贸n del protocolo DNP3 en una red de sistemas SCADA empotrados para la monitorizaci贸n de variables y dispositivos

    Get PDF
    Este Trabajo de Fin de Grado se enmarca dentro de mi trabajo en Pariver S.A. y est谩 compuesto por tres partes diferenciadas. Pariver recibi贸 una oferta para un proyecto en El Salvador en la que se buscaba el uso del protocolo DNP3 en la comunicaci贸n entre sistemas SCADA. En este Trabajo de Fin de Grado se ha incluido tambi茅n la creaci贸n del propio sistema SCADA y formar redes de comunicaci贸n entre ellos. \\ La primera tarea consisti贸 en el estudio y an谩lisis del protocolo DNP3 buscando toda la documentaci贸n posible del protocolo. Para subsanar las lagunas y dudas surgidas de la documentaci贸n he recurrido a simuladores del protocolo DNP3 y a un analizador de paquetes de red para realizar ingenier铆a inversa. La segunda tarea trat贸 la implementaci贸n del protocolo DNP3 en sendas aplicaciones cliente y servidor que leen los valores de un fichero, los traducen al formato del protocolo y los env铆an para que sean le铆dos por el servidor. El servidor analiza los datos y verifica que son aceptables, si no lo son responde al cliente comunicando los cambios necesarios. La tercera y 煤ltima tarea abarc贸 la configuraci贸n de las placas ARM GuruPlug sobre las que se desplegaron los clientes y servidores DNP3 y la utilizaci贸n de sensores que comuniquen valores a los SCADA a trav茅s de placas Arduino mediante el protocolo Modbus. \\ El resultado es un sistema capaz de recolectar datos del entorno, enviarselos al servidor de forma encriptada, analizar los datos y corregir posibles problemas en la instalaci贸n en la que se ha implantado de forma automatica

    An谩lisis t茅rmico y de potencia de multiprocesadores con DVFS

    Get PDF
    Este trabajo se centra en la caracterizaci贸n t茅rmica y energ茅tica de dos plataformas: Raspberry Pi y la placa base Asus Rampage VI Extreme Omega. Adem谩s, se documenta el control de potencia y rendimiento que estas realizan. <br /
    corecore